export let straightLine = ({ctx,clr,translateX=0,translateY=-30})=>{
	ctx.save()
	ctx.beginPath()
	ctx.translate(translateX,0)
	ctx.moveTo(0,0)
	ctx.lineTo(0,90)
	ctx.closePath()
	ctx.strokeStyle = "#a50000"
	ctx.lineWidth = 4
	ctx.fill = "black"
	ctx.stroke()
	ctx.restore()
}
export let curveLine = ({ctx,clr,translateX=0,translateY=-73})=>{
	ctx.save()
	ctx.beginPath()
	ctx.translate(translateX,0)
	ctx.moveTo(-20,20)
	ctx.lineTo(0,50)
	ctx.lineTo(0,90)
	ctx.strokeStyle = "#a50000"
	ctx.lineWidth = 4
	ctx.fill = "black"
	ctx.stroke()
	ctx.restore()
}
export let gbGraphic = ({ ctx, clr }) => {
	ctx.save()
	ctx.beginPath()
	ctx.moveTo(430, 132)
	ctx.quadraticCurveTo(570, 25, 1175, 27)
	ctx.lineTo(1175, 852)
	ctx.quadraticCurveTo(800, 890, 450, 760)
	ctx.lineTo(450, 664)
	ctx.lineTo(800, 610)
	ctx.lineTo(800, 270)
	ctx.lineTo(400, 190)
	ctx.closePath()
	// ctx.lineTo(900,113)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = 'rgb(29, 102, 169)'
	ctx.fill()
	// ctx.closePath()
	ctx.stroke()
}
export let hostboxGraphic = ({
	ctx,
	clr,
	y,
	scaleX = 1,
	scaleY = 1,
	translateY = 0,
	translateX = 0,
	rotate
}) => {
	// ctx.clearRect(0, 0, 1000, 1000);
	let Y = y || 0
	console.log('======11', translateX, scaleY, scaleX)
	ctx.save()
	// console.log("============ctx",Y)
	ctx.beginPath()
	// ctx.rotate(Math.PI / 120)
	ctx.scale(scaleX, scaleY)
	ctx.translate(translateX, translateY)
	ctx.rotate((rotate * Math.PI) / 180)
	ctx.moveTo(485, 126 + Y)
	ctx.lineTo(485, 244 + Y)
	ctx.lineTo(500, 244 + Y)
	ctx.lineTo(500, 255 + Y)
	ctx.lineTo(573, 255 + Y)
	ctx.lineTo(573, 230 + Y)
	ctx.lineTo(770, 230 + Y)
	ctx.lineTo(770, 263 + Y)
	ctx.lineTo(848, 263 + Y)
	ctx.lineTo(848, 149 + Y)
	ctx.lineTo(837, 149 + Y)
	ctx.lineTo(837, 129 + Y)
	ctx.lineTo(837, 130 + Y)
	ctx.lineTo(771, 130 + Y)
	ctx.lineTo(771, 140 + Y)
	ctx.lineTo(543, 140 + Y)
	ctx.lineTo(543, 125 + Y)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	ctx.fill()
	ctx.closePath()
	ctx.stroke()
	ctx.restore()
}

export let gearboxGraphic = ({
	ctx,
	clr,
	y,
	translateX = 0,
	translateY = 0,
	scaleX = 1,
	scaleY = 1
}) => {
	let Y = y || 0
	ctx.save()
	// console.log("============ctx",ctx)
	ctx.translate(translateX, translateY)
	ctx.scale(scaleX,scaleY)
	ctx.beginPath()
	ctx.moveTo(317, 113 + Y)
	ctx.lineTo(405, 113 + Y)
	ctx.lineTo(405, 132 + Y)
	ctx.lineTo(405, 132 + Y)
	ctx.lineTo(452, 132 + Y)
	ctx.lineTo(452, 261 + Y)
	ctx.lineTo(316, 261 + Y)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	ctx.fill()
	ctx.closePath()
	ctx.stroke()
	ctx.restore()
}
export let dieselGraphic = ({ ctx, clr, y }) => {
	ctx.beginPath()
	ctx.moveTo(670, 408)
	ctx.lineTo(685, 408)
	ctx.lineTo(685, 403)
	ctx.lineTo(704, 403)
	ctx.lineTo(704, 415)
	ctx.lineTo(810, 415)
	ctx.lineTo(810, 403)
	ctx.lineTo(825, 403)
	ctx.lineTo(825, 425)
	ctx.lineTo(845, 425)
	ctx.lineTo(845, 465)
	ctx.lineTo(825, 465)
	ctx.lineTo(825, 480)
	ctx.lineTo(810, 480)
	ctx.lineTo(810, 465)
	ctx.lineTo(704, 465)
	ctx.lineTo(704, 480)
	ctx.lineTo(685, 480)
	ctx.lineTo(685, 453)
	ctx.lineTo(670, 453)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	ctx.fill()
	ctx.closePath()
	ctx.stroke()
}
export let generatorGraphic = ({ ctx, clr, y }) => {
	let Y = y || 0
	ctx.beginPath()
	ctx.moveTo(240, 325 + Y)
	ctx.lineTo(283, 325 + Y)
	ctx.lineTo(283, 338 + Y)
	ctx.lineTo(373, 338 + Y)
	ctx.lineTo(373, 330 + Y)
	ctx.lineTo(383, 330 + Y)
	ctx.lineTo(383, 338 + Y)
	ctx.lineTo(393, 338 + Y)
	ctx.lineTo(393, 377 + Y)
	ctx.lineTo(383, 377 + Y)
	ctx.lineTo(383, 385 + Y)
	ctx.lineTo(373, 385 + Y)
	ctx.lineTo(373, 377 + Y)
	ctx.lineTo(283, 377 + Y)
	ctx.lineTo(283, 385 + Y)
	ctx.lineTo(267, 385 + Y)
	ctx.lineTo(267, 377 + Y)
	ctx.lineTo(267, 377 + Y)
	ctx.lineTo(240, 377 + Y)
	// ctx.lineTo(350, 345)
	// ctx.lineTo(405, 132)
	// ctx.lineTo(405, 132)
	// ctx.lineTo(452, 132)
	// ctx.lineTo(452,261)
	// ctx.lineTo(316,261)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	ctx.fill()
	ctx.closePath()
	ctx.stroke()
}
export let cargoOilGraphic = ({ ctx, clr, y, translateX, translateY,scaleX = 1,scaleY = 1 }) => {
	let Y = y || 0
	ctx.save()
	ctx.translate(translateX, translateY)
	ctx.scale(scaleX,scaleY)
	ctx.beginPath()
	ctx.moveTo(1005, 157 + Y)
	ctx.lineTo(1058, 157 + Y)
	ctx.lineTo(1058, 168 + Y)
	ctx.lineTo(1090, 168 + Y)
	ctx.lineTo(1090, 210 + Y)
	ctx.lineTo(1060, 210 + Y)
	ctx.lineTo(1060, 233 + Y)
	ctx.lineTo(1038, 233 + Y)
	ctx.lineTo(1038, 240 + Y)
	ctx.lineTo(1021, 240 + Y)
	ctx.lineTo(1021, 230 + Y)
	ctx.lineTo(1005, 230 + Y)
	ctx.lineTo(1005, 210 + Y)
	ctx.lineTo(985, 210 + Y)
	ctx.lineTo(985, 167 + Y)
	ctx.lineTo(1005, 167 + Y)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	ctx.fill()
	ctx.closePath()
	ctx.stroke()
	ctx.restore()
}
export let clutchGraphic = ({ ctx, clr, y }) => {
	let Y = y || 0
	ctx.beginPath()
	ctx.moveTo(870, 145 + Y)
	ctx.lineTo(958, 145 + Y)
	ctx.lineTo(958, 240 + Y)
	ctx.lineTo(900, 240 + Y)
	ctx.lineTo(900, 225 + Y)
	ctx.lineTo(870, 225 + Y)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	ctx.fill()
	ctx.closePath()
	ctx.stroke()
}

export let motorGraphic = ({ ctx, clr, y }) => {
	let Y = y || 0
	ctx.beginPath()
	ctx.moveTo(907, 295)
	ctx.lineTo(957, 295)
	ctx.lineTo(957, 300)
	ctx.lineTo(960, 300)
	ctx.lineTo(960, 320)
	ctx.lineTo(950, 320)
	ctx.lineTo(950, 325)
	ctx.lineTo(935, 325)
	ctx.lineTo(935, 318)
	ctx.lineTo(907, 318)
	// ctx.lineTo(900,240 + 50)
	// ctx.lineTo(900,225 + 50)
	// ctx.lineTo(870,225 + 50)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	ctx.fill()
	ctx.closePath()
	ctx.stroke()
}

export let sweepCargoGraphic = ({ ctx, clr, y }) => {
	let Y = y || 0
	ctx.beginPath()
	ctx.moveTo(981, 292)
	ctx.lineTo(995, 292)
	ctx.lineTo(995, 285)
	ctx.lineTo(1032, 285)
	ctx.lineTo(1032, 293)
	ctx.lineTo(1055, 293)
	ctx.lineTo(1055, 322)
	ctx.lineTo(1032, 322)
	ctx.lineTo(1032, 338)
	ctx.lineTo(1018, 338)
	ctx.lineTo(1018, 343)
	ctx.lineTo(1005, 343)
	ctx.lineTo(1005, 335)
	ctx.lineTo(995, 335)
	ctx.lineTo(995, 320)
	ctx.lineTo(981, 320)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	ctx.fill()
	ctx.closePath()
	ctx.stroke()
}
export let steeringGraphic = ({ ctx, clr, y }) => {
	let Y = y || 0
	ctx.beginPath()
	ctx.moveTo(164, 186 + Y)
	ctx.arc(164, 186 + Y, 121, [Math.PI / 180] * 142, [Math.PI / 180] * -142)
	// ctx.lineTo(164, 186)
	ctx.strokeStyle = '#fff'
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	ctx.fill()
	ctx.closePath()
	ctx.stroke()
}
export let tailShaftGraphic = ({ ctx, clr, y }) => {
	let Y = y || 0
	ctx.strokeStyle = clr
	ctx.lineWidth = 1
	ctx.fillStyle = clr
	// ctx.translate(20, 20)
	// ctx.rotate((45 * Math.PI) / 180)
	// ctx.beginPath()
	ctx.save()
	// ctx.translate(5, 15)
	// ctx.rotate(Math.PI / 0.1)
	ctx.moveTo(182, 202 + Y)
	ctx.ellipse(
		182,
		202 + Y,
		10,
		27,
		[Math.PI / 180] * 180,
		[Math.PI / 180] * 0,
		[Math.PI / 180] * 360,
		true
	)
	ctx.fill()
	ctx.stroke()
	ctx.restore()
	// // ctx.closePath()
	// ctx.beginPath()
	ctx.save()
	ctx.moveTo(182, 170 + Y)
	ctx.ellipse(
		182,
		170 + Y,
		10,
		27,
		[Math.PI / 180] * 180,
		[Math.PI / 180] * 0,
		[Math.PI / 180] * 360,
		true
	)
	ctx.fill()
	ctx.stroke()
	ctx.restore()

	ctx.beginPath()
	ctx.moveTo(192, 170 + Y)
	ctx.lineTo(275, 170 + Y)
	ctx.lineTo(275, 202 + Y)
	ctx.lineTo(192, 202 + Y)
	ctx.lineTo(192, 202 + Y)
	ctx.closePath()
	ctx.fill()
	ctx.stroke()
	// ctx.closePath()
}
export let testGraphic = ({ ctx, clr, y }) => {
	// ctx.save()
	// const centerX = 500
	// const centerY = 500
	// const numPoints = 360 // 绘制点数
	// const semiMajorAxis = 100 // 椭圆长半轴
	// const semiMinorAxis = 50 // 椭圆短半轴
	// ctx.rotate(Math.PI / 6);
	// ctx.lineWidth = 2
	// ctx.strokeStyle = 'blue'
	// ctx.beginPath()
	// for (let i = 0; i < numPoints; i++) {
	// 	const angle = (Math.PI * 2 * i) / numPoints
	// 	const radius =
	// 		(semiMajorAxis * semiMinorAxis) /
	// 		Math.sqrt(
	// 			semiMinorAxis * semiMinorAxis * Math.cos(angle) * Math.cos(angle) +
	// 			semiMajorAxis * semiMajorAxis * Math.sin(angle) * Math.sin(angle)
	// 		)
	// 	const x = centerX + radius * Math.cos(angle)
	// 	const y = centerY + radius * Math.sin(angle)
	// 	if (i === 0) {
	// 		ctx.moveTo(x, y)
	// 	} else {
	// 		ctx.lineTo(x, y)
	// 	}
	// }
	// ctx.closePath()
	// ctx.stroke()
	// ctx.restore();
}
